AWS上でKibanaを触ってみた
はじめに
最近Kibanaに興味を持ち始めた、t.hondaです。KibanaはAWS上でElasticsearchのドメインを作成すると使えるのですが、AWS上のKibanaにデータを登録して表示する例が余りありませんでした。(今から考えればローカルにElasticsearch・Kibanaを作成する場合と同じ手順だからでしょうが・・・)
そこでAWS上にElasticsearch・Kibanaを作成し、データを登録・表示するまでの手順について、簡単に纏めてみました。なお、登録するデータやKibanaの表示についてはKibana 4 Beta 1 Released!なので使ってみたに準じております。
手順について
では手順についてです。先にも書いたように、以下のことを行います。
- Elasticsearchのドメインを作成
- インデックスの作成とデータのインポート
- Kibanaでの表示
1.Elasticsearchのドメインを作成
まずはElasticsearchのドメインを作成します。「Amazon Elasticsearch Service dashboard」の画面で「Create a new domain」を押下し
任意の名前を入力して「Next」を押下します。
後はウィザードに従っていきますが、「Set up access policy」で自分のグローバルIPからのアクセスを設定しました。
2.インデックスの作成とデータのインポート
Elasticsearchのドメインを作成したら、インデックスを作成してデータをインポートします。これらの作業はターミナルにて行います。
インポートするデータの用意
Kibanaの10 Minute Walk Throughで公開されている「shakespeare.json」をダウンロードします。
shakespeare.json
今回用意したElasticsearchでは10MBを超えるjsonをインポートできなかっため、ダウンロードしたjsonの行を削除して10MB以内としました。
インデックスの作成
以下のコマンドで、先にダウンロードしたshakespeare.jsonのインデックスを作成します。
$ curl -XPUT http://your_elasticsearch_domain_endpoint/shakespeare -d ' { "mappings" : { "_default_" : { "properties" : { "speaker" : {"type": "string", "index" : "not_analyzed" }, "play_name" : {"type": "string", "index" : "not_analyzed" }, "line_id" : { "type" : "integer" }, "speech_number" : { "type" : "integer" } } } } }';
「your_elasticsearch_domain_endpoint」の部分は、マネージメントコンソールのElasticsearchのページに「Endpoint」として記載されている文字列となります。
データのインポート
次にデータのインポートを行います。
curl -XPUT your_elasticsearch_domain_endpoint/_bulk --data-binary @shakespeare.json
マネージメントコンソールのElasticsearchのページで、データがインポートされたことを確認します。
3.Kibanaでの表示
インポートしたデータをKibanaに表示します。マネージメントコンソールのElasticsearchのページより、Kibanaにリンクをクリックします。
Kibana上での作業はKibana 4 Beta 1 Released!なので使ってみたと同一なので、そちらを参考にしてください。
まとめ
データにインポート時にElasticsearchのEndpointを指定する以外は、ローカルでKabanaを扱うのと同じやり方が使えるようです。特にElasticsearch・Kibanaのインストール作業が不要な点は、改めてAWSの便利さを感じました。